home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr09 / cascad13.zip / CASCADE.DOC < prev    next >
Text File  |  1993-06-01  |  21KB  |  484 lines

  1. CASCADE.DOC                                    February 17, 1991.
  2.  
  3.  
  4. 0. WARNING
  5.  
  6. Be warned that so far this program has been subjected to only a
  7. minimal amount of beta-testing and debugging. Make backups. Check
  8. the output to make sure it is what was expected. Report all bugs.
  9.  
  10.  
  11. 1. FILES
  12.  
  13. This distribution should include the following files (possibly in
  14. CASCADE.ARC):
  15.  
  16.      RCASCADE.BAT --- sample batch file to run SUBST and CASCADE,
  17.                          to be stored somewhere on the DOS path
  18.      CASCADE.COM --- executable compiled program file
  19.      CASCADE.DOC --- this help file
  20.      CASCADE.PAS --- Turbo PASCAL source code
  21.      CASCADE.STY --- LaTeX style file
  22.      CASCADE.TEX --- main LaTeX file
  23.  
  24. In addition, running Cascade can create three types of output
  25. files:
  26.  
  27.      1. an index file
  28.      2. a print to disk file
  29.      3. a subsidiary TeX file
  30.  
  31. In each of these cases, the program prompts for a file name.
  32. However, it suggests the name TEMP.TEX in the third case, since
  33. otherwise the user will have to edit CASCADE.TEX and make the
  34. appropriate change to the line
  35.  
  36. \input{temp}
  37.  
  38. at the end of the file.
  39.  
  40. Finally, the program takes its input from three of the PAF data
  41. files, namely INDIV2.DAT, MARR2.DAT and NAME2.DAT. It expects to
  42. find these files in drive E:. The DOS command SUBST can be used to
  43. identify drive E: with the drive and pathname in which these files
  44. normally reside. For example, CASCADE.BAT includes the line
  45.  
  46. SUBST E: C:\PAF\PAFDATA.
  47.  
  48. The user can edit this line of the batch file as appropriate.
  49. The CONFIG.SYS file must allow for drive E: with the statement
  50.  
  51. LASTDRIVE=E
  52.  
  53. say. Thanks to Barbara Bennett for this tip (ABT PAF Jul-Sep 1988
  54. page 31). It may be necessary to reboot your machine before trying
  55. to run the program on another database.
  56.  
  57. If drive E: already exists, then some other drive such as F: or G:
  58. can be used, but this will require editing and recompiling
  59. CASCADE.PAS.
  60.  
  61.  
  62. 2. OVERVIEW
  63.  
  64. Parts of CASCADE.PAS are extensively commented, and the program is
  65. menu driven, so it should be easy to learn. However, some of the
  66. changes in version 1.1 and later versions could be better
  67. documented.
  68.  
  69. To run the program, edit RCASCADE.BAT, replacing C:\PAF\PAFDATA
  70. with the pathname of your own PAF database which you want to use;
  71. and replacing C:\CASCADE\ with the pathname where you place
  72. CASCADE.COM. Then just type RCASCADE at the DOS prompt. If you have
  73. more than one PAF database, just edit RCASCADE.BAT and reboot your
  74. machine to print charts from a different database.
  75.  
  76. Here is a brief overview of the program features (more detailed
  77. information is contained in later sections of this help file):
  78.  
  79. The descendants charts produced by FR.EXE and PAFUTIL.EXE are
  80. woefully inadequate. Particularly annoying is the abbreviation of
  81. dates (born BEF 1988 becomes 1988 etc.) and names: with long
  82. surnames, all given names sometimes reduce to a single initial.
  83. Dave Hurd wrote a program which was a vast improvement, and which
  84. has now been rewritten to display more information and also do
  85. `cascading descendants charts.' In brief, this option displays all
  86. of an individual's blood relations with spouses, outputting one
  87. descendants chart for each ancestral couple (parents, both sets of
  88. grandparents, four sets of grandparents, and so on, if present in
  89. the database). Grandparents descendants are omitted from the
  90. great-grandparents chart etc to avoid duplication.
  91.  
  92. The descendants charts produced by this program are much more
  93. informative than the PAFUTIL version. The program does NOT search
  94. for individuals, so the user should ascertain the desired RIN
  95. before running CASCADE.
  96.  
  97. The additional feature enables CASCADE to print basic information
  98. for all the blood relations of any individual in the PAF data base.
  99. The cascading pedigree charts option in PAFUTIL prints pedigree
  100. charts with all of the individual's ancestors; it also has an
  101. option to print a family group record for each ancestral couple.
  102. The cascading descendants charts option in this program instead
  103. prints a descendants chart for each of these couples. Duplication
  104. is avoided by indicating under the parent on the grandparents'
  105. chart which descendants chart contains (starting on its first page)
  106. the parent's own descendants, rather than reproducing these three
  107. times (on the parents' own chart, and on the chart of each set of
  108. grandparents); and so on for earlier generations.
  109. This cross referencing also works for any family which is doubly
  110. related to the root individual. The second time the family is
  111. encountered, a message is printed referring the reader to the page
  112. and chart where that family and its descendants are printed.
  113.  
  114. A number of variations on these basic options are also provided;
  115. details are given under the relevant menu options below.
  116.  
  117.  
  118. 3. ACKNOWLEDGEMENTS
  119.  
  120. This program is based on another originally developed by
  121.  
  122.           David A. Hurd
  123.           1405 Cottage Street SW
  124.           Vienna, Virginia 22180
  125.           USA
  126.  
  127.           Phone: +1 703 573 6855
  128.  
  129. and distributed through the disk library of the Capital PAF User's
  130. Group (CPAFUG). My apologies to Mr Hurd if he feels that there has
  131. been any breach of copyright.
  132.  
  133. The program was substantially extended by
  134.  
  135.           Patrick J. Waldron
  136.           39 Park Drive
  137.           Dublin 6
  138.           Ireland
  139.  
  140.           Phone: +353 1 972493
  141.  
  142.           E-mail: paddyw@lbs.lon.ac.uk
  143.           or:        waldron08@wharton.upenn.edu
  144.           or:        pwaldron@maths.tcd.ie
  145.  
  146. A number of minor modifications were suggested by
  147.  
  148.           Barbara Bennett
  149.           6426 Pound Apple Ct
  150.           Columbia, MD 21045
  151.           USA
  152.  
  153.           Phone: +1 301 381 1735
  154.  
  155. Parts of a PAF wish list (which Patrick Waldron sent to Barbara
  156. Bennett on the CPAFUG bulletin board) made it into print in ABT PAF
  157. Apr-Jun 1989 page 8. In particular, item W under Reports prompted
  158. from Steve Cannon the request: `Would you be willing to provide the
  159. code for this? Or at least examples of how you would like it to
  160. appear?' That was what first prompted circulation, documentation
  161. and improvement of this program.
  162.  
  163. See also comments in ABT PAF Oct-Dec 1990 page 21 and Jan-Mar 1991
  164. page 17. (` ... still incomplete but promising when the author
  165. completes the software.')
  166.  
  167. Please report bugs (presumably still numerous) and suggest 
  168. improvements to Patrick Waldron.
  169.  
  170.  
  171. 4. MODIFICATION HISTORY
  172.  
  173. Version 1.3, February 17, 1991.
  174.  
  175. Two new menu options added:
  176.  
  177.      print to disk file
  178.      .TeX output file
  179.  
  180. Cascading by surname option fixed and can now be limited to m
  181. generations, if desired.
  182.  
  183. Version 1.2, August 19, 1990.
  184.  
  185. Menus and user interface tidied up;
  186. configuration file eliminated.
  187.  
  188. Version 1.1, April 14, 1990.
  189.  
  190. Improvements recommended in a letter from Barbara Bennett
  191. implemented.
  192.  
  193. Version 1.0, October 9, 1989.
  194.  
  195. The first version made available for general distribution.
  196.  
  197. The program reads the data files of PAF versions 2.0, 2.1 and 2.2.
  198. It can be used with other genealogy software by exporting data to
  199. a GEDCOM file and importing the GEDCOM file into PAF.
  200.  
  201.  
  202. 5. MENU OPTIONS
  203.  
  204. The main menu has thirteen options, and should be self-explanatory.
  205. The first ten options are used to change the configuration, the
  206. next two options actually produce the output, and the final option
  207. returns control to DOS. The above overview and intelligent use of
  208. the menu should be sufficient introduction to the program. The
  209. following descriptions should be considered as a reference manual.
  210. The options are as follows:
  211.  
  212.      1. Toggle paging/scrolling. Default value paging.
  213.  
  214.      When compiling descendants charts, the program always displays
  215.      them on the screen. This display can be made to page, allowing
  216.      the user to inspect the chart before printing it or saving it
  217.      to a file. Alternatively, it can be made to scroll, allowing
  218.      the user to leave the machine while running a lengthy job. It
  219.      is also possible to switch from paging to scrolling by typing
  220.      `S<Enter>' after any screenful of data is displayed.
  221.  
  222.      2. Toggle all descendants/male line only. Default value all
  223.      descendants.
  224.  
  225.      Those who are interested in a particular surname may find this
  226.      option useful. When set to male line only, each descendants
  227.      chart includes only direct male line descendants of the root
  228.      individual.
  229.  
  230.      3. Toggle printer on/off. Default value off.
  231.  
  232.      When the printer is turned on, charts are output to the PASCAL
  233.      virtual file `lst,' which is normally the main dot matrix
  234.      printer. The printer codes are for STAR NX-1000 printers, but
  235.      are easily changed in CASCADE.PAS, which can then be
  236.      recompiled (search for chr( to find all the codes). The print
  237.      head should be lined up with the top of a page before
  238.      selecting this option, although a prompt is issued later.
  239.      Switching off the printer to adjust the paper also switches
  240.      off condensed mode, so charts will be garbled.
  241.  
  242.      4. Toggle cascade by surname / by generation. Default is by
  243.      generation.
  244.  
  245.      When cascading by generation, the program produces a
  246.      descendants chart for each individual in the first m
  247.      generations of the root individual's ahnentafel table, a total
  248.      of 2^m charts if the table is complete. There is also some
  249.      logic to printing by surname rather than by generation, as
  250.      suggested by Barbara Bennett. When cascading by surname, the
  251.      program will only print a descendants chart for an ancestor
  252.      with no parents, or on the mth and last generation of the
  253.      ahnentafel table. If the table is complete, then cascading by
  254.      surname will produce 2^(m-1) charts. This is equivalent to
  255.      printing one chart for each surname among the root
  256.      individual's ancestors (assuming that there are no repeated
  257.      surnames). To avoid losing intervening generations, this
  258.      option can only be run with a larger value than m for the
  259.      number of generations on each chart. A warning message is
  260.      printed and the value of m is reset if the user changes any of
  261.      m, n and the surname flag in contravention of this
  262.      restriction.
  263.  
  264.      Cascading by surname reduces by half the total number of
  265.      charts produced. This is particularly useful when there are
  266.      repeated lines of ancestry, leading to many duplicate charts
  267.      being produced (differing only in the Ahnentafel number, and
  268.      containing only the base couple and a reference to where their
  269.      descendants are printed).
  270.  
  271.      5. Toggle index file creation on/off. Default is off.
  272.  
  273.      This option allows an index to be written (unsorted) to a file
  274.      whose name is prompted for. That file can later be sorted with
  275.      the DOS sort utility, or in WordPerfect, or otherwise. Be sure
  276.      to reset the margins in WordPerfect to zero, since some of the
  277.      index entries can be quite long. The format of the index line
  278.      is functional, but not pretty.
  279.  
  280.      Since there are fewer lines per page in the TeX output than in
  281.      the ASCII output, there are two different sets of page
  282.      numbers. When TeX is on, the page numbers in the index refer
  283.      to the TeX output. To get an index to the ASCII output,
  284.      cascade must be run with TeX off. When TeX is on, the cross
  285.      reference page numbers also refer to the TeX output. To get
  286.      correct cross references in the ASCII output, cascade must be
  287.      run with TeX off.
  288.  
  289.      WARNING: For this and the next two options, the specified file
  290.      is overwritten. Thus, for example, to produce two index files
  291.      from one session of the program, it is essential to choose two
  292.      different file names.
  293.  
  294.      6. Toggle print file creation on/off. Default is off.
  295.  
  296.      This option just saves the printer output to disk for later
  297.      printing or inspection on screen. It might also be a paper
  298.      saver if the printer chews or runs out of paper half way
  299.      through a long job and it is desired to restart in the middle
  300.      of the output.
  301.  
  302.      7. Toggle TeX file creation on/off. Default is off. Default
  303.      filename is TEMP.TEX.
  304.  
  305.      This option is only useful if you have access to the TeX
  306.      (mathematical typesetting) software. The files CASCADE.TEX and
  307.      CASCADE.STY contain the LaTeX macros etc which are used. A
  308.      \input command in CASCADE.TEX reads TEMP.TEX, and can be
  309.      amended to read from whatever alternative output file is
  310.      specified by the user. Note that these are LaTeX files, not
  311.      plain TeX or any other format.
  312.  
  313.      8. Change no. of generations per chart. Default is 99.
  314.  
  315.      The base individual on a chart is numbered 1; his or her
  316.      children are numbered 2 (and indented once); grandchildren are
  317.      numbered 3 (and indented twice); and so on. When this option
  318.      is used to set the number of generations per chart to n,
  319.      descendants whose generation number would be greater than n
  320.      are omitted from the chart. In the unlikely event that a chart
  321.      with more than 99 generations is required, and that a wide
  322.      enough printer and paper are available, the constant maxgen in
  323.      CASCADE.PAS can be changed and the program recompiled.
  324.  
  325.      9. Change no. of generations to cascade. Default is 6.
  326.  
  327.      When this parameter is set to m, then all the descendants
  328.      (down to the nth generation, n>m) of every individual in the
  329.      first m generations of ancestors of the root individual are
  330.      displayed. That includes collateral relations as far as
  331.      (m-1)st cousins at various removes.
  332.  
  333.      A. (or a.) Change root individual. Default RIN is 1.
  334.  
  335.      This option is used to specify the RIN of the individual whose
  336.      descendants are to be printed in the case of a single chart.
  337.      For cascading charts, a chart is produced for the root
  338.      individual's parents, two sets of grandparents, four sets of
  339.      greatgrandparents, etc. (but not for the root individual,
  340.      unless none of these ancestors are in the database). It is not
  341.      possible to search the PAF database from within this program,
  342.      so a note of the desired RIN should be made while running FR,
  343.      or it can be determined by consulting other printouts.
  344.  
  345.      B. Produce a single descendants chart.
  346.  
  347.      The basic and original output of this program is a descendants
  348.      chart similar to the one in FR.EXE/PAFUTIL.EXE, but differing
  349.      in that it can print a virtually unlimited number of
  350.      generations (up to 99) and will do it in compressed form.
  351.      David Hurd's original program output differed from the
  352.      FR.EXE/PAFUTIL.EXE output in the following ways:
  353.  
  354.      - names not abbreviated if too long
  355.      - no option to force surnames to uppercase
  356.      - full birth date and bplace3 given, not just (approx) birth
  357.      year.
  358.  
  359.      Patrick Waldron's modifications are as follows:
  360.      - bplace1, bplace2, bplace3 and bplace4 all given
  361.      - same information given for death as for birth
  362.      - christening or burial information substituted if there is no
  363.      birth or death information respectively
  364.      - file GDEFS.PAS included in program file CASCADE.PAS
  365.      - page headings modified to be more prominent
  366.      - lines per page reduced from 78 to 69 (condensed) to
  367.      accomodate headings
  368.      - Multiple marriages are now numbered. It was sometimes
  369.      confusing when there were no children listed for a first
  370.      marriage, and the 'm-' for a subsequent marriage appeared to
  371.      refer to the 's-' person, so the 'm-' has been moved back one
  372.      space towards the left edge of the page.
  373.  
  374.      An option is provided to allow the same information to be
  375.      displayed on a chart produced with LaTeX from one of the
  376.      program output files. This allow much more presentable output
  377.      to be automatically generated, without importing printouts
  378.      into a DTP system on a once-off basis.
  379.      C. Produce cascading descendants charts.
  380.  
  381.      Charts are numbered according to the Ahnentafel system. In
  382.      fact, the number of a chart is one half of the Ahnentafel
  383.      number in the root individual's Ahnentafel table of the person
  384.      at the top of the chart. There are cross references giving the
  385.      number of the chart and page to be consulted for descendants
  386.      who are not repeated.
  387.  
  388.      In general, the number of a chart is the Ahnentafel number of
  389.      the direct ancestor who appears in generation 2 on the chart.
  390.      However, when there are repeated lines of ancestry, some
  391.      charts will have generation 2 replaced with a cross
  392.      referencing message, and some direct ancestors will not appear
  393.      on the chart corresponding to their own Ahnentafel number.
  394.  
  395.      No family of children is printed more than once (this is also
  396.      the case for single descendants charts when cousins marry and
  397.      their offspring might appear twice on the descendants chart of
  398.      a common ancestor). When an MRIN is processed subsequently,
  399.      instead of printing details of the children, the program
  400.      prints a message with directions to the chart and page on
  401.      which they are to be found. In the TeX output, this
  402.      information appears in a footnote at the bottom of the page.
  403.  
  404.      In theory, the cascading charts produced when going back m
  405.      generations should be an exact subset of those produced when
  406.      going back m+k generations. However, some anomalies or
  407.      exceptions may arise when there is a cross-reference in the
  408.      first m generations to a doubly related family printed on a
  409.      chart beyond generation m.
  410.  
  411.      A chart is printed for every known ancestor, as often as that
  412.      ancestor appears in the Ahnentafel table. Duplicated ancestors
  413.      have brief charts printed with each Ahnentafel number, but
  414.      their descendants are printed only the first time.
  415.  
  416.      The program outputs a total page count and a total families
  417.      count at the end of each cascade. The page count refers to 69-
  418.      line printer pages and not to 46-line TeX pages.
  419.  
  420.      0. Return to system. Self-explanatory.
  421.  
  422.  
  423. 6. MISCELLANEOUS TECHNICAL DETAILS
  424.  
  425. The NAME2.DAT file is fairly straightforward if one is only
  426. retrieving names as is done here. To update this file, on the other
  427. hand, requires traversing the binary tree as described in the PAF
  428. developers' document.
  429.  
  430. The PASCAL program reads the INDIV2.DAT and MARR2.DAT files as
  431. arrays of BYTEs and then the PROCEDUREs 'unpack' and 'unp_marr'
  432. perform the necessary translation of the coded information into
  433. strings and integers which can be used for printing.
  434.  
  435. Future versions may improve the index layout by getting the chart
  436. and page numbers flush right. The reason for the ugly format is
  437. that to get integers into a string in PASCAL it is necessary (I
  438. think) to specify the number of characters, as is done with the
  439. RIN, but it would probably slow things down too much to this with
  440. each chart and page number in the index.
  441.  
  442. Run-time errors are likely if too many ancestors or descendants are
  443. stacked for future processing.
  444.  
  445. A description of the function of each segment of the program is
  446. included with the code.
  447.  
  448. It was necessary to make the chart number of TYPE REAL rather than
  449. TYPE INTEGER since MAXINT is so small in PASCAL (16 generations
  450. would exhaust the integers), but this should not cause any
  451. problems.
  452.  
  453. A list rather than an array should have been used to handle the
  454. cross referencing. This may be rectified in a future version. If
  455. there are more than 2500 families in the database, it may be
  456. necessary to change the constant, maxfam, in CASCADE.PAS and
  457. recompile.
  458.  
  459. The charts will eventually run over the right edge of the page, but
  460. this problem can be reduced by changing the number of spaces each
  461. generation is indented, given by the constant indent_size, in
  462. CASCADE.PAS and recompiling. This could be done on a once off basis
  463. whenever a particularly large chart is required, since the current
  464. indentation seems quite pleasing. CASCADE.TEX also contains
  465. instructions on how to change the indentation in the TeX output.
  466. (This can be done without regenerating the file TEMP.TEX.)
  467.  
  468. It was possible to crash a previous version of the program (with
  469. lots of duplication in the output and no cross referencing),
  470. presumably because of stack overflow, with a cascading pedigree and
  471. even with a particularly large single descendants chart. Now that
  472. duplication has been eliminated, this should happen much less
  473. frequently. In college programming courses, one is always taught
  474. that recursion is the most elegant way of doing things, but it may
  475. sometimes require the compiler to be rewritten to avoid overflow!
  476. Future modifications may include rewriting the descend procedure to
  477. eliminate the recursion there.
  478.  
  479. Unfortunately, the PASCAL source code, having been altered so many
  480. times, is no longer very pretty. If anyone wants to send me a
  481. program to `pretty' PASCAL source files on a PC, it will be
  482. gratefully received.
  483.  
  484. Paddy Waldron